<template>
      <!-- 主体部分 -->
    <section class="main">
      <input id="toggle-all" class="toggle-all" type="checkbox" @change="SelectAll"/>
      <label for="toggle-all" >Mark all as complete</label>
      <ul class="todo-list">
        <!-- 当任务已完成，可以给 li 加上 completed 类，会让元素加上删除线 -->
        <li :class="{completed:item.flag}" v-for="item in list" :key="item.id">
          <div class="view">
            <input class="toggle" type="checkbox" :checked="item.flag" @change="listFlagChange(item.id)"/>
            <label>{{item.uname}}</label>
            <button class="destroy" @click="delList(item.id,item.flag)"></button>
          </div>
        </li>
      </ul>
    </section>

</template>

<script>
export default {
    props:{
      list:{
        type: Array,
        required: true
      }
    },
    methods:{
      // 给input选择框绑定change事件，当checked方式改变就触发，并传给父组件修改对应id的flag状态
      listFlagChange(id){
        this.$emit('listFlagChange',id)
      },
      // 删除事件
      delList(id,flag){
        // 判断事件是否完成，未完成的不删除
        flag ? this.$emit('delList',id) :alert('事件未完成')
      },
      // 全选按钮
      SelectAll(){
        console.log(1);
        this.$emit('SelectAll')
      }
    }

}
</script>

<style>

</style>
